/*
 * Classe.h
 *
 *  Created on: 4 juin 2013
 *      Author: Toshiba
 */
#ifndef CLASSE_H_
#define CLASSE_H_


//#include "Charpente.h"

class Charpente;


class Classe {
	typedef std::vector<std::vector<int> > R;
private:
	int nbsommet;
	std::vector<R> e;
	Charpente *c;
public:
	Classe();
	Classe(const Classe&);
	int get_nbsommet();
	std::vector<R> get_vector();
	bool test_etage2(int);
	int get_indice(int);
	bool est_interdit(int, int);
	Classe& operator = (const Classe&);
	bool operator==(const Classe& ) const;
	void resoudre();
	void remplacer(int, int);
	int verif_class();
	void add_interdit(int, int);
	void add_interdit_etage2(int, int);
	void add_sommet(int);
	void getinfo();
	void afficher();
	void setCharpente(Charpente*);
	void setVector(std::vector<R>);
	bool equal(Classe c);
	friend std::ostream& operator<< (std::ostream &o, Classe& c);
	virtual ~Classe();
	static void* thread_moi( void*);

};


#endif /* CLASSE_H_ */
